package com.ctshk.rpc.scenic.service;


import com.ctshk.common.dto.Result;
import com.ctshk.common.enums.ScenicTicketStatus;
import com.ctshk.common.model.PageResponse;
import com.ctshk.rpc.scenic.dto.ScenicChargeDTO;
import com.ctshk.rpc.scenic.dto.ScenicResourceTicketDTO;
import com.ctshk.rpc.scenic.req.ScenicResourceDownBox;
import com.ctshk.rpc.scenic.req.ScenicResourceTicketReq;
import com.ctshk.rpc.scenic.req.ScenicResourceTicketUpdateReq;

import java.util.List;

/**
 * <p>
 * 门票产品 服务类
 * </p>
 *
 * @author wangcy
 * @since 2021-02-04
 */
public interface IScenicResourceTicketService {

    Result<Long> createTicket(Long productId);

    PageResponse<ScenicResourceTicketDTO> queryList(ScenicResourceTicketReq resourceTicketReq);

    Result<List<ScenicResourceDownBox>> downBox(Long productId);

    Result<Long> updateStatus(List<Long> ids, ScenicTicketStatus status);

    Result<ScenicResourceTicketDTO> queryDetail(ScenicResourceTicketReq resourceTicketReq);

    Result<Long> queryTickeId(ScenicResourceTicketReq resourceTicketReq);

    Result<List<ScenicResourceTicketDTO>> queryListByStatus(ScenicResourceTicketReq resourceTicketReq);

    Result<Long> update(ScenicResourceTicketUpdateReq req);

    /**
     * 查詢票信息
     * @param strategyId
     * @param number  几張票
     * @return
     */
    Result<List<ScenicResourceTicketDTO>> queryByStockId(Long strategyId,Integer number);

    /**
     * 根據id  查詢成本價 以及匯率
     * @return
     */
    Result<ScenicChargeDTO>  queryChargeByStockId(Long strategyId);

    /***
     * 修改供应商票号
     * @return
     */
    Result  updateSupplierTicketNumberByid(Long id,String supplierTicketNumber);

    /**
     *
     * @return
     */
    Result backTicket(String ticketIds);



}
